package hl.leco.colle;

import java.util.*;

public class SetTest {
    public static void main(String[] args){

        /**
         * Set中的数据均不重复
         *
         * HashSet()        ：与添加顺序无关，比较原则 compareTo()和 hashCode() 均相等
         * LinkedHashSet()  ：按添加顺序
         * TreeSet()        ：同一个类的对象，默认排好序 是 SortedSet 的实现类，比较原则 compareTo() 相等
         *
         * EnumSet()        ：按枚举类中的顺序排序
         *
         */
        var hs = new HashSet();
        hs.add("hello");
        hs.add("world");
        hs.add("hello");
        System.out.println(hs);
        System.out.println(hs.contains("hello"));
        hs.forEach(ele -> System.out.println(ele + "hi"));
        var lhs = new LinkedHashSet();
        lhs.add(5);
        lhs.add(8);
        lhs.add(7);
        System.out.println(lhs);
        var ts = new TreeSet();
        ts.add(4);
        ts.add(2);
        ts.add(6);
        ts.add(9);
        ts.add(16);
        ts.add(1);
        System.out.println(ts);
        System.out.println(ts.first());
        System.out.println(ts.last());
        System.out.println(ts.lower(4));
        System.out.println(ts.higher(4));
        System.out.println(ts.subSet(2,9));
        System.out.println(ts.headSet(6));
        System.out.println(ts.tailSet(9));


    }
}
